package cn.bugstack.chatgpt.domain.web;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.*;
import lombok.extern.slf4j.Slf4j;

import java.io.Serializable;

@Data
@Builder
@Slf4j
@JsonInclude(JsonInclude.Include.NON_NULL)
@NoArgsConstructor
@AllArgsConstructor
@JsonIgnoreProperties(ignoreUnknown = true)
public class WebRequest implements Serializable {

    /** 搜索内容 */
    @JsonProperty("search_query")
    private String searchQuery;
    /** 搜索引擎编码 */
    @JsonProperty("search_engine")
    private String searchEngine = Model.SEARCH_STD.getCode();
    /** 是否进行搜索意图识别，默认不执行搜索意图识别。 */
    @JsonProperty("search_intent")
    private Boolean	searchIntent;
/*    *//** 返回结果的条数，可填范围：1-50，默认为10 *//*
    private String count;
    *//** 限定搜索结果的范围 *//*
    private String searchDomainFilter;
    *//** 搜索指定时间范围内的网页 *//*
    private String searchRecencyFilter;
    *//** 控制网页摘要的字数 *//*
    private String contentSize;
    *//** 区分每次请求的唯一标识符 *//*
    private String requestId;*/
    /** 终端用户的唯一ID */
    private String user;

    @Getter
    @AllArgsConstructor
    public enum Model {
        /* cogview-4 */
        SEARCH_STD("search_std"),
        SEARCH_PRO("search_pro"),
        SEARCH_PRO_QUARK("search_pro_quark"),
        SEARCH_PRO_BING("search_pro_bing"),
        ;

        private String code;
    }
}
